//Buying Hay S:https://www.luogu.com.cn/problem/P2918

//#include <iostream>
//#include <cstring>
//
//using namespace std;
//
//const int N = 1e5 + 10, M = 110;
//
//int a[M];
//int b[M];
//
//int f[N];
//
//int n,h;
//
//int main()
//{
//	cin >> n >> h;
//	for(int i = 1; i <= n; i++)cin >> a[i] >> b[i];
//	memset(f,0x3f,sizeof f);
//	f[0] = 0;
//	for(int i = 1; i <= n; i++)
//	{
//		for(int j = a[i]; j <= h + 5000; j++)
//		{
//			f[j] = min(f[j],f[j-a[i]] + b[i]);
//		}
//	}
//	
//	int ret = f[h];
//	for(int i = h; i <= h + 5000;i++)
//	{
//		ret = min(ret,f[i]);
//	}
//	
//	cout << ret;
//	return 0;
//}

#include <iostream>
#include <cstring>

using namespace std;

const int N = 5e4+10, M = 110;

int a[M];
int b[M];

int f[N];

int n,h;

int main()
{
	cin >> n >> h;
	for(int i = 1; i <= n; i++)cin >> a[i] >> b[i];
	memset(f,0x3f,sizeof f);
	f[0] = 0;
	for(int i = 1; i <= n; i++)
	{
		for(int j = 0; j <= h; j++)
		{
			f[j] = min(f[j],f[max(0,j-a[i])] + b[i]);
		}
		
	}
	
	cout << f[h];
	return 0;
}
